iT邦幫忙

2024 iThome 鐵人賽

DAY 26
0
Python

Python 新手村——基礎技能養成記系列 第 26

使用 SQLite 與 Python 進行資料庫操作

  • 分享至 

  • xImage
  •  

使用 SQLite 與 Python 進行資料庫操作

SQLite 是一個輕量級的嵌入式資料庫,無需單獨安裝伺服器即可使用。Python 提供了內建的 sqlite3 模組來與 SQLite 互動。

1. 連接資料庫並創建表格

我們可以使用 sqlite3 模組連接或創建一個 SQLite 資料庫,並建立表格來儲存數據。

import sqlite3

# 連接到資料庫(若資料庫不存在則自動創建)
conn = sqlite3.connect('example.db')

# 創建一個游標對象
cursor = conn.cursor()

# 創建表格
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    age INTEGER NOT NULL
)
''')

# 保存變更
conn.commit()

connect():連接到一個 SQLite 資料庫,如果資料庫文件不存在則會創建一個新的。
cursor():創建一個游標對象,通過它可以執行 SQL 語句。
execute():執行 SQL 語句來創建表格。
commit():保存變更。

2. 插入資料

我們可以使用 INSERT 語句將數據插入到表格中。

# 插入數據
cursor.execute('''
INSERT INTO users (name, age)
VALUES ('Alice', 25)
''')

cursor.execute('''
INSERT INTO users (name, age)
VALUES ('Bob', 30)
''')

# 保存變更
conn.commit()

INSERT INTO:用於插入數據到指定的表格中,並指定相應的欄位和值。

3. 查詢資料

我們可以使用 SELECT 語句從資料庫中查詢數據。

import sqlite3

# 連接到資料庫(若資料庫不存在則自動創建)
conn = sqlite3.connect('example.db')

# 創建一個游標對象
cursor = conn.cursor()

# 創建表格
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    age INTEGER NOT NULL
)
''')

# 插入數據
cursor.execute('''
INSERT INTO users (name, age)
VALUES ('Alice', 25)
''')

cursor.execute('''
INSERT INTO users (name, age)
VALUES ('Bob', 30)
''')

# 查詢數據
cursor.execute('SELECT * FROM users')

# 獲取查詢結果
rows = cursor.fetchall()

# 顯示結果
for row in rows:
    print(row)

# 保存變更
conn.commit()

fetchall():獲取所有查詢結果,結果將以列表形式返回。
SELECT * FROM:用於從表格中獲取所有數據。
查詢結果 :
https://ithelp.ithome.com.tw/upload/images/20241004/20168338d5kSEda4IV.png

4. 更新資料

使用 UPDATE 語句來更新表格中的數據。

# 更新數據
cursor.execute('''
UPDATE users
SET age = 26
WHERE name = 'Alice'
''')

# 保存變更
conn.commit()

UPDATE:用於更新表格中的數據,SET 指定要更新的欄位,WHERE 指定更新條件。

5. 刪除資料

我們可以使用 DELETE 語句刪除表格中的數據。

# 刪除數據
cursor.execute('''
DELETE FROM users
WHERE name = 'Bob'
''')

# 保存變更
conn.commit()

6. 關閉資料庫連接

完成操作後,應該關閉資料庫連接以釋放資源。

# 關閉連接
conn.close()

在這篇文章中,我們學習了如何使用 Python 的內建 sqlite3 模組進行 SQLite 資料庫的操作,從創建資料庫、表格,到插入、查詢、更新與刪除資料。


上一篇
Pillow 圖像處理
下一篇
使用 Flask 構建簡單的 Web 應用
系列文
Python 新手村——基礎技能養成記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言